﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GHRMS.MODEL
{
    public class CommandInfo : RecordInfo
    {
        private int cmd_seq;
        private string cmd_draft_no;
        private string cmd_rpt_date;
        private string cmd_ref_no;
        private string cmd_name;
        private string cmd_descr;
        private string cmd_status;
        private string cmd_status_name;
        private string cmd_draft_ref_no;
        private Nullable<int> approved_by;
        private string approved_name;
        private Nullable<DateTime> approved_date;
        private string approved_positions;
        private string cmd_flag; // 1 = คำสั่งกรม, 2 = คำสั่งภายใน, 3 = คำสั่งกระทรวง 
        private string tran_type;
        private string rpt_header;
        private EmployeeTypeInfo emp_type_seq;
        private CommandTypeInfo cmd_type_seq;

        public CommandInfo()
        {         
        }
        public CommandInfo(int Sequence)
        {
            this.Sequence = Sequence;
        }
        public CommandInfo(int Sequence, string CmdFlag, string DraftNo
            , string RefNo, string Name, string Status, string ReportHeader
            , Nullable<int> ApprovedBy, string ApprovedName, string ApprovedPositions
            , Nullable<DateTime> ApprovedDate, string Remarks, string RecordStatus
            , Nullable<int> CreatedBy, Nullable<int> UpdatedBy) 
        {
            this.Sequence = Sequence;
            this.CmdFlag = CmdFlag;
            this.DraftNo = DraftNo;
            this.RefNo = RefNo;
            this.Name = Name;
            this.Status = Status;
            this.ReportHeader = ReportHeader;
            this.ApprovedBy = ApprovedBy;
            this.ApprovedName = ApprovedName;
            this.ApprovedPositions = ApprovedPositions;
            this.ApprovedDate = ApprovedDate;
            this.Remarks = Remarks;
            this.RecordStatus = RecordStatus;
            this.CreatedBy = CreatedBy;
            this.UpdatedBy = UpdatedBy;
        }
        public CommandInfo(int Sequence, string CmdFlag, EmployeeTypeInfo EmployeeType, string DraftNo
            , string RefNo, string Name, string Status, string ReportHeader
            , Nullable<int> ApprovedBy, string ApprovedName, string ApprovedPositions
            , Nullable<DateTime> ApprovedDate, string Remarks, string RecordStatus
            , Nullable<int> CreatedBy, Nullable<int> UpdatedBy)
        {
            this.Sequence = Sequence;
            this.CmdFlag = CmdFlag;
            this.EmployeeType = EmployeeType;
            this.DraftNo = DraftNo;
            this.RefNo = RefNo;
            this.Name = Name;
            this.Status = Status;
            this.ReportHeader = ReportHeader;
            this.ApprovedBy = ApprovedBy;
            this.ApprovedName = ApprovedName;
            this.ApprovedPositions = ApprovedPositions;
            this.ApprovedDate = ApprovedDate;
            this.Remarks = Remarks;
            this.RecordStatus = RecordStatus;
            this.CreatedBy = CreatedBy;
            this.UpdatedBy = UpdatedBy;
        }
        public int Sequence
        {
            get { return cmd_seq; }
            set { cmd_seq = value; }
        }
        public string DraftNo
        {
            get { return cmd_draft_no; }
            set { cmd_draft_no = value; }
        }
        public string RefNo
        {
            get { return cmd_ref_no; }
            set { cmd_ref_no = value; }
        }
        public string DraftRefNo
        {
            get { return cmd_draft_ref_no; }
            set { cmd_draft_ref_no = value; }
        }
        public string Name
        {
            get { return cmd_name; }
            set { cmd_name = value; }
        }
        public string Descriptions
        {
            get { return cmd_descr; }
            set { cmd_descr = value; }
        }
        public string Status
        {
            get { return cmd_status; }
            set { cmd_status = value; }
        }
        public string StatusName
        {
            get { return cmd_status_name; }
            set { cmd_status_name = value; }
        }
        public Nullable<int> ApprovedBy
        {
            get { return approved_by; }
            set { approved_by = value; }
        }
        public string ApprovedName
        {
            get { return approved_name; }
            set { approved_name = value; }
        }
        public Nullable<DateTime> ApprovedDate
        {
            get { return approved_date; }
            set { approved_date = value; }
        }
        public string ApprovedPositions
        {
            get { return approved_positions; }
            set { approved_positions = value; }
        }
        public string CmdFlag
        {
            get { return cmd_flag; }
            set { cmd_flag = value; }
        }
        public string TranType
        {
            get { return tran_type; }
            set { tran_type = value; }
        }
        public string ReportHeader
        {
            get { return rpt_header; }
            set { rpt_header = value; }
        }
        public EmployeeTypeInfo EmployeeType
        {
            get { return emp_type_seq; }
            set { emp_type_seq = value; }
        }
        public CommandTypeInfo CmdType
        {
            get { return cmd_type_seq; }
            set { cmd_type_seq = value; }
        }
    }
}
